home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Boot Disc 12
/
boot-disc-1997-08.iso
/
Cakewalk
/
AD.1
/
Thin Controller Data.cal
< prev
next >
Wrap
Text File
|
1997-05-15
|
915b
|
43 lines
;; Thin Controller Data.cal
;;
;; A CAL program to "thin" continous controller data.
;;
;; For a given controller # event, deletes every N'th event unless the
;; event's value is 0, 64, or 127.
(do
(include "need20.cal") ; Require version 2.0 or higher of CAL
(int nCtrl 7) ; controller number
(int N 4) ; thin every N'th event
(int i 0) ; index for moving through
(getInt nCtrl "Controller number?" 0 127 )
(getInt N "Delete every Nth event:" 1 100 )
(forEachEvent
(do
(if (&& (== Event.Kind CONTROL) (== Control.Num nCtrl))
(do
(switch Control.Val
; Don't delete if 0, 64, or 127
0
NIL
64
NIL
127
NIL
Control.Val ; default
(if (== 0 (% i N)) ; is it the N'th event?
(delete)
)
)
(++ i) ; this counts
)
)
)
)
)